Each Java class (or class file) includes byte-code that may be executed by a Java Virtual Machine (JVM). Each class may include a declaration or statement indicating that the class implements an interface. An interface defines the method names and parameters for a set of methods that make up the interface. Also, each method may have a method signature. As an example, a method signature may include a method name and a number, type and/or order of the method's parameters. A first class may extend a second class. However, the details of the second class are not typically apparent from an inspection of the first class.